package space.jevin.jevinboot.entity;

import java.io.Serializable;
import java.time.LocalDateTime;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import lombok.Data;

import space.jevin.jevinboot.constant.StatusFlagEnum;

/**
 * 应用程序。
 *
 * @author zhangjiehang
 * @version 1.0.0
 * @date 2021-05-17 09:59:56
 * @since 1.0.0
 */
@Data
public class App implements Serializable {

    /**
     * 串行版本uid。
     */
    private static final long serialVersionUID = 5913708661521314528L;
    /**
     * id。
     */
    private Long id;

    /**
     * 的名字。
     */
    private String name;

    /**
     * 类型。
     */
    private Integer type;

    /**
     * 全国矿工工会。
     */
    private String num;

    /**
     * 秘密。
     */
    private String secret;

    /**
     * 秘密的盐。
     */
    private String secretSalt;

    /**
     * 备注。
     */
    private String remark;

    /**
     * 状态标志。
     */
    private StatusFlagEnum statusFlag;

    /**
     * 乐观锁版本号。
     */
    private Long versionNum;

    /**
     * 插入时间戳。
     */
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    private LocalDateTime insertTimestamp;

    /**
     * 更新时间戳。
     */
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    private LocalDateTime updateTimestamp;
}
